try:
    from deepseek import DeepSeek  # 从deepseek_api改为deepseek
    print("使用官方DeepSeek API")
except ImportError:
    print("使用自定义DeepSeek API实现")
    from custom_deepseek import DeepSeek
import json
import os
from dotenv import load_dotenv

load_dotenv()

class Analyzer:
    def __init__(self):
        self.api_key = os.getenv('DEEPSEEK_API_KEY')
        self.client = DeepSeek(self.api_key)
    
    def analyze_trends(self, data):
        """使用DeepSeek AI分析数据趋势，包括事件背景、影响和相关方反应"""
        try:
            # 检查数据是否为空
            if not data or not data.get('data') or len(data.get('data', [])) == 0:
                platform_name = data.get('platform', '未知平台') if data else '未知平台'
                return f"""
# 社交媒体热搜数据分析报告（{platform_name}平台）

## 数据采集状态

**警告**: 未获取到有效数据

可能的原因：
1. 网络连接问题
2. 平台反爬虫机制升级
3. 网站结构变更
4. API接口变更或限流

## 建议操作

1. 检查网络连接
2. 更新爬虫代码中的User-Agent和请求头
3. 检查网站结构是否变更
4. 考虑使用备用数据源
5. 增加请求延迟，避免触发反爬机制

> 本次分析因数据缺失而无法完成。请解决数据采集问题后重试。
"""
            
            # 构建更详细的分析提示
            prompt = f"""
请对以下社交媒体热搜数据进行深度分析，格式为Markdown：
{json.dumps(data, ensure_ascii=False)}

请提供以下分析内容：
1. 热点事件概述：简要总结当前热搜榜上的主要热点事件
2. 热点事件详细分析（针对排名前5的热点）：
   - 事件背景：事件的起因和发展过程
   - 社会影响：事件可能产生的社会影响和公众反应
   - 相关方反应：政府、企业、名人等相关方的回应
   - 发展趋势：事件可能的后续发展
3. 热点关键词分析：提取热搜中的关键词并分析其含义
4. 舆情分析：分析公众情绪倾向和讨论焦点

请以客观、专业的语言进行分析。
"""
            
            # 调用DeepSeek API进行分析
            response = self.client.generate(prompt)
            
            # 确保返回的是格式化的分析结果
            if not response or len(response.strip()) == 0:
                return "无法获取有效的分析结果，请检查数据或重试。"
                
            return response
        except Exception as e:
            print(f'数据分析失败: {e}')
            return f"分析过程中发生错误: {str(e)}"

if __name__ == '__main__':
    analyzer = Analyzer()
    # 测试用示例数据
    test_data = {'platform': '测试', 'data': [{'title': '测试标题', 'hot': 100}]}
    result = analyzer.analyze_trends(test_data)
    print(result)